package com.example.gaoyang.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.example.gaoyang.domain.SysRoleElement;
import com.example.gaoyang.domain.request.SysRoleElementRequest;
import com.example.gaoyang.domain.vo.SysRoleElementVO;
import com.example.gaoyang.request.Result;

import java.util.List;

public interface SysRoleElementService extends IService<SysRoleElement> {

    /**
     * 添加角色权限关联
     * @param sysRoleElementRequest
     * @return
     */
    void addSysRoleElement(SysRoleElementRequest sysRoleElementRequest);

    /**
     * 修改角色权限关联
     * @param sysRoleElementRequest
     * @return
     */
    void batchAddSysRoleElement(SysRoleElementRequest sysRoleElementRequest);

    /**
     * 删除角色权限关联
     * @param sysRoleElementRequest
     * @return
     */
    void removeSysRoleElement(SysRoleElementRequest sysRoleElementRequest);

    /**
     * 批量删除角色权限关联
     * @param sysRoleElementRequest
     * @return
     */
    void batchRemoveSysRoleElement(SysRoleElementRequest sysRoleElementRequest);

    /**
     * 批量修改角色权限关联
     * @param sysRoleElementRequest
     * @return
     */
    void batchUpdateSysRoleElement(SysRoleElementRequest sysRoleElementRequest);

    /**
     * 获取角色权限关联列表
     * @param sysRoleElementRequest
     * @return
     */
    List<SysRoleElementVO> getSysRoleElementList(SysRoleElementRequest sysRoleElementRequest);

    /**
     * 获取角色权限关联分页列表
     * @param page
     * @param sysRoleElementRequest
     * @return
     */
    IPage<SysRoleElementVO> getSysRoleElementPage(IPage<SysRoleElement> page, SysRoleElementRequest sysRoleElementRequest);

}
